home *** CD-ROM | disk | FTP | other *** search
- program main;
- {$IFDEF DPMI}
- uses fgmain, fgbitmap, fgmisc, fgvb, WinAPI;
- {$ELSE}
- uses fgmain, fgbitmap, fgmisc, fgvb;
- {$ENDIF}
-
- const
- arrow : array [1..35] of byte = (
- $00,$00,$00,$F0,$00,
- $00,$00,$00,$FF,$00,
- $FF,$FF,$FF,$FF,$F0,
- $FF,$FF,$FF,$FF,$FF,
- $FF,$FF,$FF,$FF,$F0,
- $00,$00,$00,$FF,$00,
- $00,$00,$00,$F0,$00);
-
- var
- handle : integer;
- old_mode : integer;
- status : integer;
- arrow256 : array [1..70] of byte;
- buffer : pointer;
-
- begin
- fg_initpm;
- if (fg_testmode(13,1) = 0) then
- begin
- write('This program requires a 320 ');
- writeln('x 200 EGA graphics mode.');
- exit;
- end;
-
- old_mode := fg_getmode;
- fg_setmode(13);
- fg_unpack(arrow,arrow256,35);
-
- fg_vbinit;
- {$IFDEF DPMI}
- buffer := GlobalAllocPtr(gmem_Fixed,Longint(70));
- {$ELSE}
- GetMem(buffer,70);
- {$ENDIF}
- handle := fg_vbdefine(buffer,10,7);
- status := fg_vbopen(handle);
- fg_setcolor(9);
- fg_fillpage;
- fg_move(0,6);
- fg_drwimage(arrow256,10,7);
-
- fg_vbpaste(0,9,0,6,156,101);
- fg_waitkey;
-
- {$IFDEF DPMI}
- GlobalFreePtr(buffer);
- {$ELSE}
- FreeMem(buffer,70);
- {$ENDIF}
- fg_vbclose;
- fg_setmode(old_mode);
- fg_reset;
- end.